Remote copying is the pairing of a primary data storage system with a remote data storage system for use in disaster recovery or as a backup. Whenever data is written to the primary data storage system it is also written to the remote data storage system to ensure the backup stays up-to-date. The typical use of remote copy is to place the remote data storage system at a site which is physically separate from the primary data storage system so that it is not affected by events such as fire, flood, loss of electrical power, or network failure that may make the primary data storage system unavailable or destroy it.
In synchronous remote copying, the host does not receive a completion notice for a write operation until the write has been committed to both the primary and the remote data storage systems. This limits the distance between the primary and remote volumes typically to a few hundred kilometers because the time taken to send a message from the primary site to the remote site and to receive a reply for the message is experienced by the host as additional write response time. At longer distances, the additional write latency results in unusually slow application performance.
In asynchronous remote copying (ARC), the host that writes the data to the primary is not usually delayed while data is copied to the remote; as soon as the data has been written to the primary, the host is notified of the completion. The data is then copied to the remote asynchronously. This means that ARC solutions may be deployed in configurations where the distance between the primary and secondary is many thousands of kilometers and the latency may be many tens of milliseconds. Note that in order for the data at the remote to be useful it is important that the system orders writes at the remote so that, at all times, the data there matches the data that could have been at the primary at some point in the past.
An ARC implementation, while able to tolerate a highly latent link having a very long round trip delay perhaps of several hundred milliseconds, may nevertheless be intolerant of bandwidth limitation in the link or in the storage controllers at the remote site. The effect of poor bandwidth may cause writes to the primary volumes to be delayed. An example of intolerance may be where an ARC implementation requires memory resources at the primary site to track writes which are due to be committed at the secondary. These resources are retained until the corresponding write is committed at the secondary.